/**
 * 自己动手写操作系统
 *
 * 系统引导部分，启动时由硬件加载运行，然后完成对二级引导程序loader的加载
 * 该部分程序存储于磁盘的第1个扇区，在计算机启动时将会由BIOS加载到0x7c00处
 * 之后，将由BIOS跳转至0x7c00处开始运行
 */
	#include "boot.h"

  	// 16位代码，务必加上
  	.code16
 	.text
	.global _start
	.extern boot_entry
_start:
	mov $0, %ax
	mov %ax, %ds
	mov %ax, %ss
	mov %ax, %es
	mov %ax, %fs
	mov %ax, %gs

	mov $_start, %esp   
	//将引导程序压栈

	; mov $0xe, %ah		
	; //软中断INT10
	; mov $'L', %al		
	; //显示的字符
	; int $0x10

read_loader:
	mov $0x8000, %bx 	//程序读到0x8000为止
	mov $0x2, %ah 	 	//AH=02H
	mov $0x2, %cx		//扇面:扇区 ch:cl
	mov $64, %al		//扇区数，尽量多一些
	mov $0x0080, %dx	//驱动器
	int $0x13
	jc read_loader


	jmp  boot_entry




	jmp .

	
	// 引导结束段
	.section boot_end, "ax"
boot_sig: .byte 0x55, 0xaa  //这是将特定区域的值至特殊值让BIOS知道这个是引导程序
